package com.malou.server.ventas.proveedor;

import java.util.List;

import com.extjs.gxt.ui.client.data.FilterPagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.malou.client.util.MensajeData;
import com.malou.client.ventas.proveedor.Proveedor;
import com.malou.client.ventas.proveedor.ProveedorService;
import com.malou.client.ventas.proveedor.TipoProveedor;
import com.malou.server.base.util.GxtGridPaginate;

public class ProveedorServiceImpl extends RemoteServiceServlet implements
ProveedorService{
	private static final long serialVersionUID = 1L;
	
	@Override
	public PagingLoadResult<Proveedor> paginateProveedor(FilterPagingLoadConfig config) {
		
		GxtGridPaginate paginate = new GxtGridPaginate();
		paginate.config = config;		
		return Proveedores.getPaginate(paginate);
	}
	
	@Override
	public MensajeData save(Proveedor prv) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Proveedores.save(prv)){
			data.guardado = false;
			data.errorTipo = Proveedores.errorTipo;
		}
		
		return data;
	}
	
	@Override
	public MensajeData delete(Integer id) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Proveedores.delete(id)){
			data.guardado = false;
		}
		
		return data;
	}
	
	@Override
	public MensajeData deleteAll(String ids) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Proveedores.deleteAll(ids)){
			data.guardado = false;
		}
		
		return data;
	}

	@Override
	public List<TipoProveedor> getTipoProveedor() {
		return Proveedores.getTipoProveedor();
	}

}
